Personalized scaling of graphical indicators

ABSTRACT

Some aspects relate to reception from a user, via a sensor, first data indicative of activity of the user, determination of one or more values of a metric based on the first data, determination of a display scale based on the one or more values, reception from the user, via the sensor, second data indicative of activity of the user over a time interval, determination of a second value of the metric based on the second data, generation of a first graphical indicator representing the second value based on the display scale and the second value, and display of the first graphical indicator on a display.

BACKGROUND

1. Field

The embodiments described below relate to the generation andpresentation of activity-related graphics. Some embodiments relate tothe generation and presentation of graphical indicators conforming to apersonalized display scale.

2. Description

The benefits of monitoring fitness-related information are well-known. Aconventional stationary exercise device may include a display whichgraphically presents information such as time elapsed, heart rate,calories burned, etc. Wearable/portable fitness monitors also displayfitness-related information to users. This information providesmotivation, immediate feedback, and a better understanding of progresstoward fitness goals.

Fitness-related information is typically presented using alphanumericcharacters (e.g., “110 BPM”) or graphical visualizations. For example, abar chart may present a heart rate over time. Such a bar chart mayinclude several bars, each associated with a different time interval,where the length of a bar represents a heart rate during its associatedtime interval.

Graphical visualizations may provide an intuitive understanding ofunderlying fitness-related information. However, improvements to suchgraphical visualizations are desired, which may result in improvedunderstanding of the underlying information, utilization of displayscreen area, and/or other benefits.

SUMMARY

Some embodiments relate to a device, method, and/or computer-readablemedium storing processor-executable process steps to receive from auser, via a sensor, first data indicative of activity of the user,determine one or more values of a metric based on the first data,determine a display scale based on the one or more values, receive fromthe user, via the sensor, second data indicative of activity of the userover a time interval, determine a second value of the metric based onthe second data, generate a graphical indicator representing the secondvalue based on the display scale and the second value, and display thegraphical indicator on a display.

Some aspects further include reception from the user, via the sensor,third data indicative of activity of the user over a second timeinterval, determination of a third value of the metric based on thethird data, generation of a second graphical indicator representing thethird value based on the display scale and the third value, and displayof the second graphical indicator on the display.

In some aspects, the value of the metric associated with a respectivetime interval is indicative of physical activity during the respectivetime interval. For example, the metric may be step count, heart rate,distance traveled, activity level, altitude ascended, altitudedescended, floors climbed, or calories burned.

According to some aspects, the display scale indicates a length per Nunits of the metric. The display scale may also or alternativelyindicate a number of icons per N units of the metric.

In some aspects, a position of the displayed graphical indicator on thedisplay indicates the time interval. The position may be along an arc ofa circle, wherein arcs of the circle represent a plurality of timeintervals.

According to some aspects, first data indicative of activity of a useris received, one or more values of a metric are determined based on thefirst data, a display scale is determined based on the one or morevalues, second data indicative of activity of the user over a timeinterval is received, a second value of the metric is determined basedon the second data, a graphical indicator representing the second valueis generated based on the display scale and the second value, and datarepresenting the graphical indicator is transmitted to a display device.

Further aspects include reception of third data indicative of activityof the user over a second time interval, determination of a third valueof the metric based on the third data, generation of a second graphicalindicator representing the third value based on the display scale andthe third value, and transmission of the second graphical indicator tothe display device.

According to some aspects, the display scale indicates a length per Nunits of the metric. The display scale may also or alternativelyindicate a number of icons per N units of the metric.

A more complete understanding of some embodiments can be obtained byreferring to the following detailed description and to the drawingsappended hereto.

BRIEF DESCRIPTION OF THE DRAWINGS

The construction and usage of embodiments will become readily apparentfrom consideration of the following specification as illustrated in theaccompanying drawings, in which like reference numerals designate likeparts, and wherein:

FIG. 1 illustrates operation according to some embodiments;

FIG. 2 is a block diagram of a device according to some embodiments;

FIG. 3 is a block diagram of a device according to some embodiments;

FIG. 4 is a top perspective view of a device according to someembodiments;

FIG. 5 is a bottom perspective view of a device according to someembodiments;

FIG. 6 is a flow diagram of a process according to some embodiments;

FIG. 7 illustrates operation of a system according to some embodiments;

FIG. 8 is an outward view of a displayed graphical indicator and acurrent time according to some embodiments;

FIG. 9 is an outward view of a displayed graphical indicator accordingto some embodiments;

FIG. 10 is an outward view of a displayed graphical indicator and acurrent time according to some embodiments;

FIG. 11 is an outward view of a displayed graphical indicator accordingto some embodiments;

FIG. 12 is an outward view of displayed graphical indicators and acurrent time according to some embodiments;

FIG. 13 is an outward view of displayed graphical indicators accordingto some embodiments;

FIG. 14 is an outward view of displayed graphical indicators and acurrent time according to some embodiments;

FIG. 15 is an outward view of displayed graphical indicators accordingto some embodiments;

FIGS. 16A and 16B comprise a flow diagram of a process according to someembodiments;

FIG. 17 is an outward view of displayed graphical indicators and acurrent time according to some embodiments;

FIG. 18 is an outward view of displayed graphical indicators and acurrent time according to some embodiments;

FIG. 19 is an outward view of displayed graphical indicators and acurrent time according to some embodiments;

FIG. 20 is an outward view of displayed graphical indicators and acurrent time according to some embodiments; and

FIG. 21 is an outward view of a displayed graphical indicator and acurrent time according to some embodiments.

DETAILED DESCRIPTION

The following description is provided to enable any person in the art tomake and use the described embodiments. Various modifications, however,will remain readily apparent to those in the art.

A brief example will now be described with reference to FIG. 1 in orderto provide an introduction to various features. Embodiments are notlimited to the features or description of this example.

Monitoring device 100 receives data 110 from user 120. Data 110 isreceived via sensor 105, and is indicative of activity of user 120. Data110 may be received over any suitable time interval. According to someembodiments, sensor 105 is a heart rate sensor and data 110 comprisessignals detected from user 120 by sensor 105.

One or more values of a metric are determined based on data 110.Continuing the example, sensor 105, alone or in conjunction with otherelements of monitoring device 100 determines a heart rate of user 120based on data 110. According to some embodiments, the determined heartrate may comprise an average heart rate during the time interval overwhich data 110 was received, a maximum heart rate over the timeinterval, an average heart rate over each of several sub-intervals ofthe time interval, and/or any other measure of heart rate.

Next, a display scale is determined based on the determined value orvalues. The display scale associates units (e.g., BPM) of the metric(e.g., heart rate) with a characteristic of a graphical indicators whichwill be used to represent future values of the metric. In a specificexample, a determined maximum heart rate is 150 BPM and a display areais 3.2 cm in height. Accordingly, the determined display scale may be 50BPM/1 cm. A corresponding graphical indicator representing 150 BPM is 3cm in length, and is therefore able to fit in the display area.Moreover, additional display height (i.e., 0.2 cm) is available if theheart rate exceeds 150 BPM. If the determined maximum heart rate is 180BPM, the determined display scale may be 60 BPM/1 cm.

After the display scale is determined, second data indicative of useractivity is received over a time interval. Again, the second data may bereceived from user 120 by sensor 105. A second value of the metric isdetermined based on the second data, and a graphical indicatorrepresenting the second value is generated based on the display scaleand the second value.

For example, it will be assumed that a value of 125 BPM is determinedbased on the second data. Based on the previously-determined displayscale of 50 BPM/1 cm, a graphical indicator having a length of 2.5 cm isgenerated.

The graphical indicator is then displayed. FIG. 1 shows graphicalindicators 130 displayed on display 140. Display 140 may comprise anytype of display screen that is or becomes known, and may be integralwith or separate from monitoring device 100. Each of graphicalindicators 130 is generated based on the display scale described above,and each of graphical indicators 130 represents a value of a metric overa respective time interval. For example, each of indicators 130 mayrepresent an average heart rate over a particular five minute interval.

As described, the display scale used to generate indicators 130 isdetermined based on metric values which were determined from signalsreceived from user 120. Accordingly, the display scale may optimize ausage of a display area of display 140 based on the user's prioractivity.

Embodiments are not limited to the graphical indicators of FIG. 1.Moreover, the metric may comprise any metric that is or become known.According to some embodiments, the metric is one of step count, heartrate, distance traveled, activity level, altitude changes, altitudeascended, altitude descended, floors climbed, and calories burned. Themetric may be indicative of physical activity, but embodiments are notlimited thereto.

In the present disclosure, the term “activity” includes sedentary andnonsedentary activities. As such, the metric may be associated withactivities related to sleeping, lying, sitting, and standing stationary(for example, time asleep, the onset, duration, and number of awakeningswhile attempting to sleep, the time spent in various stages of sleep,sleep latency, sleep efficiency and other sleep quality parameters, thepresence of sleep apnea and other diagnostic measures, time spent in aprone non-standing state, and resting heart rate).

FIG. 2 is a block diagram of system 200 according to some embodiments.System 200 may be operated to generate and display graphical indicatorsaccording to some embodiments. System 200 includes one or moreprocessing units 210 (e.g., processor cores and/or processing threads,discrete or integrated logic, and/or one or more state machines, and/orfield programmable gate arrays (or combinations thereof)). One or moreprocessing units 210 are configured to execute processor-executableprogram code to cause system 200 to operate as described herein, andmemory 220 for storing the program code and any other suitable data,including but not limited to values of metrics associated withrespective time intervals, and user-specific display scales associatedwith various metrics. Memory 220 may comprise one or more fixed disks,solid-state random access memory, and/or removable media (e.g., a thumbdrive) mounted in a corresponding interface (e.g., a USB port).

Display interface 230 provides communication with display 240, which maycomprise any system for visual presentation of information that is orbecomes known. Display 240 may comprise a touch screen for receivinguser input into system 200 according to some embodiments.

One or more processing units 210 may therefore executeprocessor-executable program code stored in memory 220 to cause system200 to receive first data indicative of activity of a user, to determineone or more values of a metric based on the first data, to determine adisplay scale based on the one or more values, to receive second dataindicative of activity of the user over a time interval, to determine asecond value of the metric based on the second data, to generate agraphical indicator representing the second value based on the displayscale and the second value, and to display the graphical indicator ondisplay 240.

According to some embodiments, system 200 comprises an integrated devicesuch as, but not limited to, a wearable unit (e.g., around wrist, aroundneck) or an otherwise portable unit (e.g., a smartphone, a dedicatedmusic player, a fob). In some embodiments, elements of system 200 may beembodied in separate devices, such as a server device (e.g., a desktopcomputer) including elements 210, 220 and 330, and a terminal device(e.g., a watch) including display 240. System 200 may perform functionsother than those attributed thereto herein, and may include any elementswhich are necessary for the operation thereof.

Some embodiments of system 200 include a portable monitoring devicehaving a physical size and shape adapted to couple to the body of auser, which allows the user to perform normal or typical user activities(including, for example, exercise of all kinds and type) withouthindering the user from performing such activities. The portablemonitoring device may include a mechanism (for example, a clip, strapand/or tie) that facilitates coupling or affixing the device to the userduring such normal or typical user activities.

For example. during operation, an altitude sensor generates data whichis representative of the altitude and/or changes in altitude of theuser. A motion sensor generates data which is representative of motionof the user. The data which is representative of the altitude and/orchanges in altitude and the data which is representative of the motionof the user, is used to determine energy and/or calorie “burn” of theuser.

The data may also be used to determine other activity-related metricsincluding, for example, (i) in the context of running/walking on level,substantially level, or relatively level ground, (a) number of steps,which may be categorized according to the number of steps associatedwith a user state, for example, walking, jogging and/or running, (b)distance traveled and/or (c) pace, (ii) in the context ofrunning/jogging/walking/jumping on stairs, hills or ground having agrade of greater than, for example, about 3%, (a) number of stair and/orhill steps, which may be categorized, correlated or organized/arrangedaccording to the number of stair and/or hill steps pertaining to, forexample, the speed, pace and/or user state of the user (for example,walking, jogging and/or running), (b) number of flights of stairs, (c)ascent/descent distance on stairs and/or hills, (d) pace, (e)ascent/descent on elevators and/or escalators, (f) number of caloriesburned or expended by walking/running on stairs and/or hills and/or (g)quantify/compare the additional calories expended or burnt fromstairs/hills relative to, versus or over level ground, (iii) in thecontext of swimming, number of strokes, time between strokes, leg kicksand similar metrics (variance of stroke time, mean stroke time, etc.),depth underwater, strokes per lap, lap time, pace and/or distance, (iv)in the context of using a bicycle, wheelchair, skateboard, skis,snowboard, ladder, etc., (a) ascent/descent distance traversed, (b)number of additional calories expended, (c) time of a downward “run” orupward “climb”, (d) number of calories expended, (e) number of pedalrotations, (f) arm or wheel rotation, (g) the grade of the surface, (h)pushes, kicks and/or steps. This list of activities (if applicable tothe particular embodiment) is merely exemplary and is not intended to beexhaustive or limiting.

FIG. 3 is a block diagram of device 300 according to some embodiments.Device 300 may comprise an implementation of system 200 of FIG. 2.Device 300 incorporates elements 310 through 360 into a singleintegrated package.

Elements 310 through 340 of device 300 may operate as described abovewith respect to similarly-numbered elements of system 200. Device 300further includes sensor interface 350 for exchanging data with one ormore sensors 360.

Sensors 360 may comprise any sensors for acquiring data based on whichmetric values may be determined. Examples of sensors 360 include, butare not limited to, an accelerometer, a light sensor, a blood oxygensensor, a gyroscope, a magnetometer, a Global Positioning System device,a proximity sensor, an altimeter, and a heart rate sensor. One or moreof sensors 360 may share common hardware and/or software components.

A value of a metric may be determined based on data acquired by one ormore of sensors 360. For example, a value of a “distance traveled”metric may be determined based on the outputs of a Global PositioningSystem device and an altimeter. An “activity level” metric may bedetermined based on the outputs of a blood oxygen sensor and a heartrate sensor.

User 370 is pictured to indicate that, according to some embodiments,data received by sensors 360 is indicative of activity of user 370. Forexample, the one or more sensors 360 may receive data based on physicalactivity of user 370. Moreover, one or more of sensors 360 may receivedata via direct contact with the user, for example during heart rate,skin temperature, and/or blood oxygen monitoring.

In some embodiments, calorie expenditure and activity level may bedetermined based on or using, partially or entirely, the ambulatoryspeed of user 370. The speed of the user may be calculated, determinedand/or estimated as the user's step count over a time epoch multipliedby one or more step lengths of the user (which may be programmed,predetermined and/or estimated (for example, based on attributes of theuser (for example, height, weight, age, leg length, and/or gender))).Representative energy expenditure rates expressed as metabolicequivalents per minute (MET/min) may then be estimated, obtained (forexample, from a look-up table or database) and/or interpolated from aMET table which provides metabolic equivalents per minute for differentuser speeds. In some embodiments, step length may be one of two valuesthat are indicative of a walking step length and a running step lengthdependent on the step frequency and/or acceleration characteristics ofthe user. In some embodiments, step length may be described as a linearfunction of step frequency: step length=A+B*step frequency, where A andB are parameters that may be associated with or calibrated to the user.Such parameters may be stored in memory in device 300.

In some embodiments, the speed value may be converted to calorieexpenditure by multiplying the corresponding MET value by the user'sBody Mass Ratio (BMR). BMR may be obtained through any of a number ofwell-known equations based on height, weight, gender, age, and/orathletic ability or through designated BMR measurement devices. Forexample, a user may have a running step length of 57 inches and take 180running steps during 1 min. Using the method described above, the user'sspeed estimate is 9.8 miles per hour, which may be linearly interpolatedto provide a BMR value of 15.8 MET from the MET table above. Assumingthe user's BMR to be 1.10 kcal/MET, the calorie burn of the user in thepreceding minute is 17.4 kcal.

An intermediate MET calculation step is not required in this and similarmethods. Calorie expenditure may be calculated directly based on speedand one or more physiological parameters of the user such as age,gender, height, weight, and/or athletic ability. Speed may also befiltered over time rather than accepted as a “raw” measurement for agiven time epoch. All forms of speed estimation, and mechanisms toimplement such techniques, whether now known and/or later developed, maybe implemented in some embodiments

Calorie consumption, burn and/or expenditure may be determined usingdata which is representative of the intensity of user motion forexample, as provided or determined by one or more single axis ormulti-axis accelerometers, based on a heart rate, based onaltitude-related information (for example, from an altimeter disposed onthe portable monitoring device), and/or based on any combination offactors described herein.

FIG. 4 is a top view of one implementation of device 300 according tosome embodiments. According to the illustrated embodiment, device 400 iswearable on a user's wrist. Device 400 includes display 440, which maycomprise any suitable type of display screen, and which may displaygraphical indicators as described herein. Buttons 480 may be manipulatedby a user to provide input to device 400. Display 440 may alsoincorporate an input device (i.e., a touch screen). Band 490 may bewrapped around the wrist and is securable using securing elements 495(e.g., hook and loop, clasp, shape memory elements).

FIG. 5 is a bottom view of device 400, showing sensor protrusion 510 andpower interface 520. Sensor protrusion 510 may include sensors whichreceive data indicative of user activity and benefit from closeproximity and/or contact with a user's skin. Such sensors may includeheart rate, moisture and/or temperature sensors. Power interface 520 mayinterface with a docking station or other power source to receiveelectrical charge for charging of batteries located within device 400.Embodiments are not limited to device 400 in terms of function, featuresand/or form factor.

FIG. 6 is a flow diagram of process 600 according to some embodiments.Process 600 and the other processes described herein may be performedusing any suitable combination of hardware or software, includingimplementations of system 200, device 300 and/or device 400. Softwareembodying these processes may be stored by any non-transitory tangiblemedium, including a fixed disk, a floppy disk, a CD, a DVD, a Flashdrive, or a magnetic tape.

Initially, at S610, first data is received from a user. The first datais received via a sensor and is indicative of physical activity of theuser. The first data may comprise signals acquired from any number ofsensors. According to some embodiments, sensor 510 of device 400acquires heart rate-related signals via contact with a user over a timeinterval. In some embodiments, an accelerometer of device 400 generatesmovement data due to user movement over several time intervals.

One or more values of a metric are determined at S620 based on thereceived data. The metric may comprise any metric described herein orthat is (or becomes) known. As described with respect to FIG. 1, sensor105, alone or in conjunction with other elements of monitoring device100, may determine a heart rate of user 120 based on received data 110at S620. The determined heart rate may comprise an average heart rateduring the time interval over which data 110 was received, a maximumheart rate over the time interval, an average heart rate over each ofseveral sub-intervals of the time interval, and/or any other measure ofheart rate. Determination of the one or more values at S620 may also bebased on stored data, such as user body characteristics, dietaryinformation, etc.

FIG. 7 is a block diagram describing operation of system elementsaccording to some embodiments. As shown, sensors 712, 714 and 716receive data from user 710. Each of sensors 712, 714 and 76 may receivesuch data continuously or according to a respective schedule.

The received data is stored in respective ones of memory buffers 722,724 and 726. The stored data may be raw data or data processed to anyoutput format supported by its respective sensor. For example, accordingto some embodiments, sensor 714 is a heart rate sensor and outputs acurrent heart rate to buffer 724 at ten second intervals. Each outputheart rate is stored in a memory location of buffer 724.

In some embodiments, application processors 732, 734 and 736 compriseexecution threads, processor cores or other processing units fordetermining metric values based on the data of memory buffers 722, 724and 726. Application processors 732, 734 and 736 may subscribe toupdates of one or more of memory buffers 722, 724 and 726, and determinemetric values based on data received according to the subscription. Eachof application processors 732, 734 and 736 is associated with arespective metric. That is, each of application processors 732, 734 and736 determines one or more values of a single metric and also determinesa display scale associated with that metric.

In this regard, a display scale is determined at S630 based on thedetermined value or values. As described above, the display scaleassociates units of the metric with a characteristic of a graphicalindicator which will be used to represent future values of the metric.Any one or more previously-determined metric values may be used todetermine the display scale according to some embodiments. For example,application processor 732 may operate to determine the display scalebased on metric values associated with a previous week. Values may beadditionally or otherwise filtered, using any known filter, forinclusion in the determination of the display scale. Values which areseveral standard deviations from a mean value may be excluded, forexample.

As described above, determination of the display scale may take intoaccount a maximum display area, for example of display 750. Anapplication processor 732, 734, and/or 736 may therefore communicatewith display interface 740 at S630 to determine a size of an availabledisplay area.

According to some embodiments, a display scale may specify an area pernumber of units of the metric (e.g., 2 cm²/5 steps). A display scale mayspecify a number of icons per number of units of the metric (e.g., 2icons/50 ft. in elevation). Embodiments of a display scale may specifyany graphical characteristic per number of units of the metric

Next, at S640, second data indicative of user activity is received fromthe user over a time interval. According to some embodiments, any amountof time may pass between S630 and S640. For example, S610 through S630may be executed during a calibration period, and flow may pausethereafter until a user operates input controls (e.g., buttons 480and/or touch screen display 440) to enter a monitoring mode at S640.

With respect to the example of FIG. 7, the second data may be receivedby one or more of sensors 712, 714 and 716 and stored in respective onesof memory buffers 722, 724 and/or 726. A second value of the metric isdetermined at S650 based on the second data. One of applicationprocessors 732, 734 and 736 may determine the second value at S650 asdescribed above with respect to S620.

A graphical indicator representing the second value is generated at S660based on the display scale and the second value. One of applicationprocessors 722, 724 and 726 may generate the graphical indicators atS660. Reiterating an example described above, a display scale of 50BPM/1 cm is determined at S630 and a value of 125 BPM is determined atS650 based on the second data. Accordingly, a graphical indicator havinga length of 2.5 cm is generated at S660.

The graphical indicator is displayed at S670. Display of the graphicalindicator may comprise transmitting a visualization including thegraphical indicator to another device for display, or displaying thegraphical indicators on an on-board display. According to someembodiments, one of application processors 722, 724 and 726 transmitsthe graphical indicator to display interface 740 at S670, and displayinterface 740 controls display 750 to display the graphical interfacethereon.

FIGS. 8-11 each illustrate a displayed graphical indicator according tosome embodiments of S670. FIGS. 8-11 are intended to demonstrateexamples of visualizations which include graphical indicators accordingto some embodiments, but embodiments are not limited thereto.

FIG. 8 shows graphical indicator 810 consisting of three icons. Alsoshown is current time 820. For example, each icon of graphical indicator810 may represent 30 BPM. Therefore, indicator 810 represents 90 BPM.

A position of graphical indicator 810 indicates the time intervalassociated with the graphical indicator. In the present example,graphical indicator 810 is positioned at the ‘0’ minute position of atraditional analog clock layout, therefore graphical indicator 810 isassociated with the 60th minute of the prior hour. More specifically,graphical indicator 810 indicates a heart rate of 90 BPM over the 60thminute of the prior hour. Accordingly, some embodiments efficientlyconvey values associated with respective time intervals in an intuitivemanner which can be quickly grasped by a user.

FIG. 9 shows graphical indicator 910, which is similar to graphicalindicator 810 excepting that graphical indicator 910 is a solid line.The length of graphical indicator 910 represents the second valuedetermined at S650, and is determined based on the second value and on adisplay scale as described above. Again, a position of graphicalindicator 910 indicates the time interval associated with the graphicalindicator, in this case the 60th minute of the prior hour.

FIG. 10 shows graphical indicator 1010 and current time 1020. The lengthof graphical indicator 1010 is determined based on the second valuedetermined at S650 and on a display scale as described above. Theposition of graphical indicator 1010 may correspond to a firstten-minute time interval since an instruction was received from the userto begin monitoring the metric.

FIG. 11 shows graphical indicator 1110, which is similar to graphicalindicator 1010 but is composed of icons. The number of icons ofgraphical indicator 1010 represents the second value determined at S650,and is determined based on the second value and on a display scale(e.g., 1 icon/10 steps). The position of graphical indicator 1110 maycorrespond to a first one-minute time interval since an instruction wasreceived from the user to begin monitoring the metric.

Returning to process 600, flow continues from S670 to S640 to receiveadditional data from the user. Accordingly, flow cycles between S640 andS670 to receive new data indicative of physical activity, to determinenew matric values based on the data, and to generate and display newgraphical indicators based on the values and on thepreviously-determined display scale.

The new graphical indicators may be displayed along withpreviously-generated and displayed indicators so as to convey changes inmetric values over time. FIG. 12-15 illustrate the visualizations ofFIGS. 8-11 after several iterations of S640-S670 according to someembodiments.

FIG. 12 shows a plurality of graphical indicators, each of whichrepresents a value of a metric and a time interval. As described above,the time interval associated with a graphical indicator is indicated bya position of the graphical indicator. The ends of each graphicalindicator substantially trace an arc of circle 1220, and the position ofan end of a graphical indicator on arc 1220 indicates the time intervalassociated with the graphical indicator.

More specifically, distal ends 1215 of graphical indicators 1210Athrough 1210D are located on arc 1220 at the :00, :01, :02 and :03positions of an analog clock, respectively. These positions correspondto time intervals which are one minute in length. The time intervalsassociated with each graphical indicator may exhibit any duration. Forexample, each position of an end 1215 may correspond to a five minuteinterval, a ten minute interval, or an interval of any duration. In acase that a complete circle includes sixty graphical indicators andcorresponds to twelve hours, each graphical indicator is associated witha twelve minute interval. Similarly, in a case that a complete circleincludes sixty graphical indicators and corresponds to twenty-fourhours, each graphical indicator is associated with a twenty-four minuteinterval.

FIG. 13 is an outward view of visualization 1300 according to someembodiments. Visualization 1300 is identical to FIG. 12 except that eachgraphical indicator is a solid. The ends of each of the graphicalindicators of visualization 1300 substantially trace an arc of a circle,and a position of an end of a graphical indicator on the arc of thecircle indicates the time interval associated with the graphicalindicator.

FIG. 14 shows graphical indicators displayed in addition to graphicalindicator 1010 of FIG. 10. Each of the graphical indicators ofvisualization 1400 may be generated based on a same display scale atS660. According to the illustrated embodiment, the display scaleassociates a length of a graphical indicator with a number of units of ametric.

Visualization 1500 of FIG. 15 shows graphical indicators displayed inaddition to graphical indicator 1110 of FIG. 11. The graphicalindicators of visualization 1500 may be generated based on a samedisplay scale, which associates a number of icons of a graphicalindicator with a number of units of a metric.

Embodiments are not limited to the graphical indicators describedherein. A visualization according to some embodiments may include two ormore types of graphical indicators. A visualization according to someembodiments may also include displayed elements in addition to thegraphical indicators and other elements shown herein.

According to some embodiments, flow may occasionally return to S630 todetermine a new display scale. For example, the display scale may bedetermined based on data which was received after the originaldetermination of the display scale. This re-determination may occurdaily, weekly, monthly, or in response to any condition, such as adetermination that the determined metric values consistently meet (orfail to meet) a threshold. Such a feature may account for changes in theuser's fitness and/or physiology.

Process 600 may pause or terminate at any time according to someembodiments. For example, a user may input an instruction to switch amonitoring mode, causing termination of process 600. Data may continueto be received from the user as described herein despite termination ofprocess 600, and that data may be used to determine a display scale uponresumption of process 600.

FIGS. 16A and 16B comprise process 1600 according to some embodiments.Embodiments are not, however, limited to the features of process 1600.

Prior to process 1600, it will be assumed that a device embodyingprocess 1600 is activated (i.e., powered on, woken from sleep, etc.) orotherwise instructed to enter a mode for displaying a visualizationaccording to some embodiments.

S1605 through S1615 may be executed as described above with respect toS610 through S630 of process 600, but implementations are not limitedthereto. After execution of S630, a display scale has been determinedwhich associates units of a metric with a characteristic of a graphicalindicator which will be used to represent future values of the metric.In the present example, the metric is step count and the display scaleassociates a length of a graphical indicator with a number of steps.

Next, at S1620, a value of the metric is determined for each of aplurality of time intervals of the current hour. The value for each timeinterval is determined based on second data indicative of physicalactivity of the user over that time interval. The current time may bedetermined from a network to which the device is connected (i.e., wiredor wirelessly), from an on-board clock, or by other means. For example,if a current time of 12:43 pm is determined, so a value of the metric isdetermined for each completed minute of the current hour (i.e., for eachof forty-two completed minutes). Time intervals are not limited tosingle minutes in some implementations, as described above. It will beassumed that the metric in the current example is step count, thereforeforty step count values are determined at S1620.

For each of the plurality of time intervals, a graphical indicatorassociated with the time interval is generated at S1625. The length of agraphical indicator is determined based on the display scale and on thevalue of the metric for the time interval associated with the graphicalindicator.

The plurality of graphical indicators are displayed at S1630. Accordingto some embodiments, a position of each of the displayed plurality ofgraphical indicators indicates a time interval associated with eachgraphical indicator. FIG. 17 provides an illustration of such a displayaccording to the present example. The ends of each of the displayedplurality of graphical indicators substantially trace an arc of acircle, and a position of an end of a graphical indicator on the arcindicates a time interval associated with the graphical indicator.

Next, at S1640, a signal indicative of physical activity over a nexttime interval is detected. In the present example, the next timeinterval is the forty-third minute of the hour, since values have beendetermined for the initial forty-two minutes of the hour. The signal maybe detected by a sensor such as those already described. More than onesignal from more than one sensor may be detected at S1640, depending onthe information needed to determine a value of the particular metricbeing evaluated. In this regard, a next value of the metric isdetermined at S1645 and, as described with respect to S650 and S660, agraphical indicator representing the next value and associated with thenext time interval is determined at S1650. The length of the graphicalindicator is determined based on the display scale and on the next valueof the metric.

As illustrated by graphical indicator 1810 of FIG. 18, the graphicalindicator determined at S1650 is displayed at S1655. A position of afirst end of graphical indicator 1810 on the arc indicates itsassociated time interval (i.e., the forty-third minute).

At S1660, it is then determined whether the metric of interest haschanged. According to some embodiments, the metric of interest maychange to another metric based on a schedule, in which case S1660consists of confirming the schedule. In some embodiments, a user mayissue a command to change the schedule. The command may be issued viabuttons such as buttons 480, or by performing a touch screen gesture,such as a swipe, upon display 440. Any suitable input modality may beused to issue such a command.

If it is not determined to change the metric at S1660, it is determinedwhether the current time has entered a new hour. If not, flow continuesto S1640 and to determine a new value, to generate a new graphicalindicator based on the value and the display scale, and to display thenew graphical indicator at an appropriate position on the arc of thecircle.

Upon determining at S1660 that the metric is to be changed, flow returnsto the beginning of process 1600 to determine a display scale, and togenerate and display a plurality of graphical indicators based on thedisplay scale and on values of the new metric for each time interval ofthe current hour. FIG. 19 illustrates display of such graphicalindicators according to some embodiments. Each graphical indicator ofvisualization 1900 represents a value of the new metric (e.g., heartrate) associated with a time interval indicated by a position of thegraphical indicator. Icon 1910 now indicates the new metric, signalingto the user that the metric has changed.

On the other hand, if it is determined at S1665 that a new hour hasarrived, flow returns to S1620 to determine a plurality of values of thenew metric for a plurality of time intervals of the new hour (S1620), togenerate a graphical indicator for each of the values based on thedisplay scale (S1625), and to display the graphical indicators (S1630),where a position of a displayed graphical indicator indicates a timeinterval associated with the graphical representation.

Upon returning to S1620 from S1665 during the first minute of the hour,no time intervals of the new hour will have elapsed, so the first valueand graphical indicator of the current hour are determined at S1645 andS1650. The graphical indicator is displayed at S1655 as part of a newvisualization, as illustrated by visualization 2100 of FIG. 21. Flow maythen continue as described above to determine and display graphicalindicators associated with the current metric or with another metricdetected at S1660.

The foregoing diagrams represent logical architectures for describingprocesses according to some embodiments, and actual implementations mayinclude more or different components arranged in other manners. Othertopologies may be used in conjunction with other embodiments. Moreover,each system described herein may be implemented by any number of devicesin communication via any number of other public and/or private networks.Two or more of such computing devices may be located remote from oneanother and may communicate with one another via any known manner ofnetwork(s) and/or a dedicated connection. Each device may include anynumber of hardware and/or software elements suitable to provide thefunctions described herein as well as any other functions. For example,any computing device used in an implementation of some embodiments mayinclude a processor to execute program code such that the computingdevice operates as described herein.

All systems and processes discussed herein may be embodied in programcode stored on one or more non-transitory computer-readable media. Suchmedia may include, for example, a floppy disk, a CD-ROM, a DVD-ROM, aFlash drive, magnetic tape, and solid state Random Access Memory (RAM)or Read Only Memory (ROM) storage units. Embodiments are therefore notlimited to any specific combination of hardware and software.

Those in the art will appreciate that various adaptations andmodifications of the above-described embodiments can be configuredwithout departing from the scope and spirit of the claims. Therefore, itis to be understood that the claims may be practiced other than asspecifically described herein.

1. A device, comprising: a display a sensor; one or more processors; amemory; and program code, wherein the program code is stored in thememory and configured to be executed by the one or more processors, theprogram code including instructions for: receiving from a user, via thesensor, first electrical signals indicative of movement of the user;determining one or more values of a metric based on the first electricalsignals; determining a display scale based on the one or more values,the display scale associating N units of the metric with a value of agraphical characteristic; receiving from the user, via the sensor,second electrical signals indicative of movement of the user over a timeinterval; determining a second value of the metric based on the secondelectrical signals; determining a first value of the graphicalcharacteristic based on the second value and on the display scale;generating a first graphical indicator exhibiting the first value of thegraphical characteristic; and displaying the first graphical indicatoron the display.
 2. A device according to claim 1, wherein the sensorcomprises at least one of: an accelerometer; a light sensor; a bloodoxygen sensor; a gyroscope; a magnetometer; a Global Positioning Systemdevice; a proximity sensor, an altimeter; and a heart rate sensor.
 3. Adevice according to claim 1, wherein the display scale associates aparticular length with N units of the metric.
 4. A device according toclaim 1, wherein the display scale associates a particular number oficons with N units of the metric.
 5. (canceled)
 6. (canceled)
 7. Adevice according to claim 1, wherein a position of the displayed firstgraphical indicator on the display indicates the time interval.
 8. Adevice according to claim 7, wherein the position is along an arc of acircle, and wherein arcs of the circle represent a plurality of timeintervals.
 9. A device according to claim 8, the one or more programsfurther including instructions for: displaying a current time within thecircle.
 10. A device according to claim 1, the one or more programsfurther including instructions for: receiving from the user, via thesensor, third electrical signals indicative of movement of the user overa second time interval; determining a third value of the metric based onthe third electrical signals; determining a second value of thegraphical characteristic based on the third value and on the displayscale; generating a second graphical indicator exhibiting the secondvalue of the graphical characteristic; and displaying the secondgraphical indicator on the display.
 11. A device according to claim 10,wherein a first position of the displayed first graphical indicator onthe display indicates the time interval, and wherein a second positionof the displayed second graphical indicator on the display indicates thesecond time interval
 12. A device according to claim 11, wherein thefirst position is along a first arc of a circle, and wherein the secondposition is along a second arc of the circle.
 13. A device according toclaim 1, wherein the metric comprises one of: step count, heart rate,distance traveled, activity level, altitude changes, altitude ascended,altitude descended, floors climbed, and calories burned.
 14. A method,comprising: receiving from a user, via a sensor, first electricalsignals indicative of movement of the user; determining one or morevalues of a metric based on the first electrical signals; determining adisplay scale based on the one or more values, the display scaleassociating N units of the metric with a value of a graphicalcharacteristic; receiving from the user, via the sensor, secondelectrical signals indicative of movement of the user over a timeinterval; determining a second value of the metric based on the secondelectrical signals; determining a first value of the graphicalcharacteristic based on the second value and on the display scale;generating a first graphical indicator exhibiting the first value of thegraphical characteristic; and displaying the first graphical indicatoron a display.
 15. A method according to claim 14, wherein the sensorcomprises at least one of: an accelerometer; a light sensor; a bloodoxygen sensor; a gyroscope; a magnetometer; a Global Positioning Systemdevice; a proximity sensor, an altimeter; and a heart rate sensor.
 16. Amethod according to claim 14, wherein the display scale associates aparticular length with N units of the metric.
 17. A method according toclaim 14, wherein the display scale associates a particular number oficons with N units of the metric.
 18. A method according to claim 14,wherein a position of the displayed first graphical indicator on thedisplay indicates the time interval.
 19. A method according to claim 18,wherein the position is along an arc of a circle, and wherein arcs ofthe circle represent a plurality of time intervals.
 20. A methodaccording to claim 14, further comprising: receiving from the user, viathe sensor, third electrical signals indicative of movement of the userover a second time interval; determining a third value of the metricbased on the third electrical signals; determining a second value of thegraphical characteristic based on the third value and on the displayscale; generating a second graphical indicator exhibiting the secondvalue of the graphical characteristic; and displaying the secondgraphical indicator on the display.
 21. A method according to claim 20,wherein a first position of the displayed first graphical indicator onthe display indicates the time interval, and wherein a second positionof the displayed second graphical indicator on the display indicates thesecond time interval.
 22. A method according to claim 21, wherein thefirst position is along a first arc of a circle, and wherein the secondposition is along a second arc of the circle.
 23. A method according toclaim 14, wherein the metric comprises one of: step count, heart rate,distance traveled, activity level, altitude changes, altitude ascended,altitude descended, floors climbed, and calories burned.
 24. A method,comprising: receiving first electrical signals indicative of movement ofa user; determining one or more values of a metric based on the firstelectrical signals; determining a display scale based on the one or morevalues, the display scale associating N units of the metric with a valueof a graphical characteristic; receiving second electrical signalsindicative of movement of the user over a time interval; determining asecond value of the metric based on the second electrical signals;determining a first value of the graphical characteristic based on thesecond value and on the display scale; generating a first graphicalindicator exhibiting the first value of the graphical characteristic;and transmitting data representing the first graphical indicator to adisplay device.
 25. (canceled)
 26. A method according to claim 24,wherein the display scale associates a particular length with N units ofthe metric.
 27. (canceled)
 28. A method according to claim 24, furthercomprising: receiving third electrical signals indicative of movement ofthe user over a second time interval; determining a third value of themetric based on the third electrical signals; determining a second valueof the graphical characteristic based on the third value and on thedisplay scale; generating a second graphical indicator exhibiting thesecond value of the graphical characteristic; and transmitting thesecond graphical indicator to the display device.
 29. A method accordingto claim 24, wherein the metric comprises one of: step count, heartrate, distance traveled, activity level, altitude increase, floorsgained, and calories burned.
 30. A device, comprising: one or moreprocessors; a memory; and program code, wherein the program code isstored in the memory and configured to be executed by the one or moreprocessors, the program code including instructions for: receiving firstelectrical signals indicative of movement of a user; determining one ormore values of a metric based on the first electrical signals;determining a display scale based on the one or more values, the displayscale associating N units of the metric with a value of a graphicalcharacteristic; receiving second electrical signals indicative ofmovement of the user over a time interval; determining a second value ofthe metric based on the second electrical signal; determining a firstvalue of the graphical characteristic based on the second value and onthe display scale; generating a first graphical indicator exhibiting thefirst value of the graphical\ characteristic; and transmitting the firstgraphical indicator to a display device.
 31. (canceled)
 32. A deviceaccording to claim 30, wherein the display scale associates a particularlength with N units of the metric.
 33. A device according to claim 30,wherein the display scale associates a particular number of icons with Nunits of the metric.
 34. (canceled)
 35. (canceled)
 36. A deviceaccording to claim 30, the one or more programs further includinginstructions for: receiving third electrical signals indicative ofmovement of the user over a second time interval; determining a thirdvalue of the metric based on the third electrical signals; determining asecond value of the graphical characteristic based on the third valueand on the display scale; generating a second graphical indicatorexhibiting the second value of the graphical characteristic; andtransmitting the second graphical indicator to the display device.
 37. Adevice according to claim 30, wherein the metric comprises one of: stepcount, heart rate, distance traveled, activity level, altitude increase,floors gained, and calories burned.